package main

import "fmt"

//  如果k的值为6，那么上述程序的执行结果如下：
//
//Copy code
//was <= 6
//was <= 7
//was <= 8
//default case
//在该程序中，变量k的值被判断为6，所以会执行第三个case块中的代码。由于该case块中包含fallthrough语句，所以会继续执行第四个case块中的代码，然后第五个case块中的代码，直到执行到第六个case块中的代码。因为没有再包含fallthrough语句的case块，所以不会再往下执行，而是执行default块中的代码。
//
//总之，fallthrough语句的作用是使当前case块中的执行流程继续执行到下一个case块中，直到遇到没有fallthrough语句的case块为止。它常用于枚举类型的操作，以便实现一些特殊的控制流程。不过，如果不小心使用fallthrough语句，可能会导致程序的逻辑错误，所以使用时需要谨慎。
var one = 1

func main() {
	k := 6
	switch k {
	case 4:
		fmt.Println("was <= 4")
		fallthrough
	case 5:
		fmt.Println("was <= 5")
		fallthrough
	case 6:
		fmt.Println("was <= 6")
		fallthrough
	case 7:
		fmt.Println("was <= 7")
		fallthrough
	case 8:
		fmt.Println("was <= 8")
		fallthrough
	default:
		fmt.Println("default case")
	}
}
